<?php
/**
  * tframe
  *
  *
  * @copyright Copyright (c) 2012 - 2014, huxiaomin
  * @author huxiaomin    2012-6-10  
  * @since		Version 1.0
  *
  */
    
class TFile{

            public $appdir = TT_DIR;//相对目录
            public $WIN_OS = 0;
            
            function __construct(){
                $this->WIN_OS = DIRECTORY_SEPARATOR == '\\';
            }
            
            /**
             * 相对与根目录，不过要加/
             * @param $oldfile
             * @param $newfile
             */
            function move($oldfile,$newfile)
            {
                $oldfile_dir = $this->appdir.$oldfile;
                if ($this->copy($oldfile,$newfile)){
                    return unlink($oldfile_dir);
                }
                return false;
            }
            /**
             * 相对与根目录，不过要加/
             * @param $oldfile
             * @param $newfile
             */
            function copy($oldfile,$newfile)
            {
                if ($this->WIN_OS)
                {
                    $oldfile = mb_convert_encoding($oldfile,'gbk','utf-8');
                    $newfile = mb_convert_encoding($newfile,'gbk','utf-8');
                }
                $oldfile_dir = $this->appdir.$oldfile;
                $newfile_dir = $this->appdir.$newfile;
                if (file_exists($oldfile_dir) && $this->markDirTrue($newfile))
                {
                    return  copy($oldfile_dir,$newfile_dir);
                }
                return false;
            }
            /**
             * 绝对路径
             * @param $newfile
             */
            function markDirTrue($newfile,$mod=0777)
            {
            	$dir = $this->appdir.dirname($newfile);
            	mkdir($dir,$mod,true);
                if ( file_exists($this->appdir.$dir.DIRECTORY_SEPARATOR))
                {
                    return true;
                }else{
                    return false;
                }
                
            }
            /**
             * 删除文件
             * @param $file TODO
             */
            function del($file)
            {
                if (empty($file))return true;
                if ($this->WIN_OS)
                {
                    $file = mb_convert_encoding($file,'gbk','utf-8');
                }
                $fir_dir = $this->appdir.$file;
                if (file_exists($fir_dir))
                {
                    chmod(dirname($fir_dir),0777);
                    return unlink($fir_dir);
                }
                return false;
            }
            /**
             * 搜索某个目录中的所以文件
             * dirs 是目录而不是文件注意！！！必须加最后的“/”
             */
            function getFiles($dirs)
            {
                $file_array = glob("{$dirs}*.*");
                if ( $this->WIN_OS )
                {
                    $file_array = implode('{||}',$file_array);
                    $file_array = strtr($file_array,array($dirs=>''));
                    $file_array = mb_convert_encoding($file_array,'utf-8','gbk');
                    $file_array = explode('{||}',$file_array);
                }
                return $file_array;
            }
            
           static function getImages($dir){
            	if (!is_dir($dir)){
            	   return array();
            	}
            	$file_array = array();
                $opendir = opendir($dir);
                while($file = readdir($opendir)){
                    $pathinfo = pathinfo($file);
                    if(in_array(strtolower($pathinfo['extension']),
                            array('jpg','png','jpeg','tif'))){
                        if (DIRECTORY_SEPARATOR == '\\'){
                          $file =  mb_convert_encoding($file,'utf-8','gbk');
                        } 
                        $file_array[] = $file;   
                    }
                }
                return $file_array;
            }
            
            
            
}